home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
pcboard
/
spage11b.zip
/
SLOBPAGE.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-05-15
|
6KB
|
370 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
String TSTRING001(40)
String TSTRING002(1)
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
Time TIME001
Time TIME002
Time TIME003
Int INT001
;------------------------------------------------------------------------------
Cls
STRING008 = PPEPath() + "SPCONFIG"
If (Exist(STRING008 + LangExt())) Then
FOpen 1, STRING008 + LangExt(), 0, 0
ElseIf (Exist(STRING008)) Then
FOpen 1, STRING008, 0, 0
Else
End
Endif
FDefIn 1
FDGet TSTRING001(0)
FDGet TSTRING001(1)
FDGet TSTRING001(2)
FDGet TSTRING001(3)
FDGet TSTRING001(4)
FDGet TSTRING001(5)
FDGet TSTRING001(6)
FDGet TSTRING001(7)
FDGet TSTRING001(8)
FDGet TSTRING001(9)
FDGet TSTRING001(10)
FDGet TSTRING001(11)
FDGet TSTRING001(12)
FDGet TSTRING001(13)
FDGet TSTRING001(14)
FDGet TSTRING001(15)
FDGet TSTRING001(16)
FDGet TSTRING001(17)
FDGet TSTRING001(18)
FDGet TSTRING001(19)
FDGet TSTRING001(20)
FDGet TSTRING001(21)
FDGet TSTRING001(22)
FDGet TSTRING001(23)
FDGet TSTRING001(24)
FDGet TSTRING001(25)
FDGet TSTRING001(26)
FDGet TSTRING001(27)
FDGet TSTRING001(28)
FDGet TSTRING001(29)
FDGet TSTRING001(30)
FDGet TSTRING001(31)
FDGet TSTRING001(32)
FDGet TSTRING001(33)
FDGet TSTRING001(34)
FDGet TSTRING001(35)
FDGet TSTRING001(36)
FDGet TSTRING001(37)
FDGet TSTRING001(38)
FDGet TSTRING001(39)
FClose 1
:LABEL001
FOpen 1, TSTRING001(41) + "PCBOARD.SYS", 0, 0
FSeek 1, 4, 0
FRead 1, STRING009, 2
FClose 1
If (STRING009 == "-1") Goto LABEL002
Goto LABEL004
:LABEL002
TIME001 = Time()
TIME002 = ReadLine(PCBDat(), 189)
TIME003 = ReadLine(PCBDat(), 190)
If ((TIME001 >= TIME002) && (TIME001 <= TIME003)) Then
Goto LABEL003
Else
Goto LABEL004
Endif
:LABEL003
TSTRING002(1) = "ON"
AnsiPos 1, 1
DispFile PPEPath() + "slobdisp", 4
AnsiPos 1, 1
PrintLn "@X08SLOBPAGE.PPE (C)1996 Slob-Trot Software Oy Ab@X07"
AnsiPos Left(TSTRING001(24), 2), Right(TSTRING001(24), 2)
InputStr "_", STRING003, 0, TSTRING001(23), "/\=+][^~∙{}?><| " + Mask_Path(), 4096
FAppend 1, PPEPath() + "Reason.log", 2, 0
FPutLn 1, U_Name(), ", ", Date(), ", ", Time(), ", " + STRING003
FClose 1
FOpen 2, PPEPath() + "Temp", 2, 3
FPutLn 2, STRING003 + Chr(13) + Chr(13)
FClose 2
If (STRING003 == "") Goto LABEL011
If (STRING003 == Chr(27)) Goto LABEL001
AnsiPos Left(TSTRING001(15), 2), Right(TSTRING001(15), 2)
Print TSTRING001(14)
Goto LABEL015
:LABEL004
Cls
DispFile PPEPath() + "pageoff", 4
AnsiPos 1, 1
:LABEL005
AnsiPos Left(TSTRING001(3), 2), Right(TSTRING001(3), 2)
Print TSTRING001(1)
AnsiPos Left(TSTRING001(6), 2), Right(TSTRING001(6), 2)
Print TSTRING001(5)
AnsiPos Left(TSTRING001(9), 2), Right(TSTRING001(9), 2)
Print TSTRING001(8)
AnsiPos Left(TSTRING001(3), 2), Right(TSTRING001(3), 2)
:LABEL006
STRING004 = Inkey()
If (STRING004 == "DOWN") Goto LABEL007
If (STRING004 == Chr(13)) Goto LABEL011
If (STRING004 == "UP") Goto LABEL009
If (STRING004 == Chr(27)) Goto LABEL011
Goto LABEL006
:LABEL007
AnsiPos Left(TSTRING001(3), 2), Right(TSTRING001(3), 2)
Print TSTRING001(2)
AnsiPos Left(TSTRING001(6), 2), Right(TSTRING001(6), 2)
Print TSTRING001(4)
AnsiPos Left(TSTRING001(9), 2), Right(TSTRING001(9), 2)
Print TSTRING001(8)
AnsiPos Left(TSTRING001(6), 2), Right(TSTRING001(6), 2)
:LABEL008
STRING004 = Inkey()
If (STRING004 == "DOWN") Goto LABEL009
If (STRING004 == Chr(13)) Goto LABEL013
If (STRING004 == "UP") Goto LABEL005
If (STRING004 == Chr(27)) Goto LABEL011
Goto LABEL008
:LABEL009
AnsiPos Left(TSTRING001(3), 2), Right(TSTRING001(3), 2)
Print TSTRING001(2)
AnsiPos Left(TSTRING001(6), 2), Right(TSTRING001(6), 2)
Print TSTRING001(5)
AnsiPos Left(TSTRING001(9), 2), Right(TSTRING001(9), 2)
Print TSTRING001(7)
AnsiPos Left(TSTRING001(9), 2), Right(TSTRING001(9), 2)
:LABEL010
STRING004 = Inkey()
If (STRING004 == "DOWN") Goto LABEL005
If (STRING004 == Chr(13)) Goto LABEL012
If (STRING004 == "UP") Goto LABEL007
If (STRING004 == Chr(27)) Goto LABEL011
Goto LABEL010
:LABEL011
KbdStuff "menu" + Chr(13)
End
:LABEL012
If (TSTRING001(25) == "NONE") Goto LABEL014
Cls
Call TSTRING001(25)
End
:LABEL013
AnsiPos Left(TSTRING001(11), 2), Right(TSTRING001(11), 2)
InputStr TSTRING001(10) + "_", STRING006, 8, 20, " /\" + Mask_Path(), 4096 + 1
If (STRING006 == TSTRING001(22)) Goto LABEL003
Newline
AnsiPos Left(TSTRING001(27), 2), Right(TSTRING001(27), 2)
PrintLn TSTRING001(26)
Newline
Delay 20
Goto LABEL004
:LABEL014
Newline
KbdStuff "C" + Chr(13) + "Y" + Chr(13)
End
:LABEL015
STRING005 = TSTRING001(12)
INTEGER001 = 2
Color TSTRING001(38)
AnsiPos Left(TSTRING001(37), 2), Right(TSTRING001(37), 2)
SPrintLn TSTRING001(34)
AnsiPos Left(TSTRING001(37), 2), Right(TSTRING001(37), 2) + 1
SPrintLn TSTRING001(35)
AnsiPos Left(TSTRING001(37), 2), Right(TSTRING001(37), 2) + 2
SPrint TSTRING001(36)
:LABEL016
Color TSTRING001(39)
If (STRING005 < 1) Goto LABEL017
AnsiPos Left(TSTRING001(13), 2), Right(TSTRING001(13), 2)
If (STRING005 > 9) Print STRING005
If (STRING005 < 10) Print "0" + STRING005
If (STRING005 == 10) Dec INTEGER001
Backup INTEGER001
PageOn
STRING006 = KInkey()
If (STRING006 == Chr(32)) Goto LABEL022
STRING007 = Abort()
If (STRING007) Goto LABEL017
AnsiPos Left(TSTRING001(13), 2) + 4, Right(TSTRING001(13), 2)
For INT001 = TSTRING001(28) To TSTRING001(29) Step TSTRING001(30)
Sound INT001
Delay 1
Print TSTRING001(32)
Print TSTRING001(33)
Next
AnsiPos Left(TSTRING001(13), 2) + 4, Right(TSTRING001(13), 2)
ClrEol
Dec STRING005
Goto LABEL016
AnsiPos Left(TSTRING001(17), 2), Right(TSTRING001(17), 2)
Print TSTRING001(16)
Goto LABEL018
:LABEL017
ResetDisp
If (TSTRING001(31) == "YES") Message 0, TSTRING001(0) , U_Name() , "SlobPage - Reason For Paging...", "R", 0, 0, 0, PPEPath() + "TEMP"
If (Exist(PPEPath() + "TEMP")) Delete PPEPath() + "TEMP"
Sound 0
AnsiPos Left(TSTRING001(17), 2), Right(TSTRING001(17), 2)
Print TSTRING001(16)
:LABEL018
AnsiPos Left(TSTRING001(19), 2), Right(TSTRING001(19), 2)
Print TSTRING001(18)
AnsiPos Left(TSTRING001(19), 2), Right(TSTRING001(19), 2)
:LABEL019
STRING005 = ""
STRING005 = Inkey()
If (STRING005 == "LEFT") Goto LABEL020
If (STRING005 == "RIGHT") Goto LABEL020
If (STRING005 == Chr(13)) Goto LABEL012
If (STRING005 == Chr(27)) Goto LABEL011
If (Upper(STRING005) == YesChar()) Goto LABEL012
If (Upper(STRING005) == NoChar()) Goto LABEL011
Goto LABEL019
:LABEL020
AnsiPos Left(TSTRING001(21), 2), Right(TSTRING001(21), 2)
Print TSTRING001(20)
:LABEL021
STRING005 = ""
STRING005 = Inkey()
If (STRING005 == "LEFT") Goto LABEL018
If (STRING005 == "RIGHT") Goto LABEL018
If (STRING005 == Chr(13)) Goto LABEL011
If (STRING005 == Chr(27)) Goto LABEL011
If (Upper(STRING005) == YesChar()) Goto LABEL012
If (Upper(STRING005) == NoChar()) Goto LABEL011
Goto LABEL021
:LABEL022
Sound 0
Newline
Chat
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 5 End
; 3 Cls
; 1 ClrEol
; 2 Color
; 52 Goto
; 18 Let
; 18 Print
; 2 PrintLn
; 41 If
; 2 DispFile
; 4 FOpen
; 1 FAppend
; 4 FClose
; 2 FPutLn
; 1 ResetDisp
; 1 Delete
; 2 InputStr
; 2 Delay
; 2 Dec
; 4 Newline
; 2 KbdStuff
; 1 Call
; 30 AnsiPos
; 1 Backup
; 1 Message
; 3 Sound
; 1 Chat
; 1 SPrint
; 2 SPrintLn
; 1 PageOn
; 1 FSeek
; 1 FRead
; 1 FDefIn
; 40 FDGet
;
;
; ■ Functions used :
;
; 28 +
; 32 ==
; 3 <
; 2 <=
; 1 >
; 3 >=
; 4 !
; 3 &&
; 1 ||
; 4 Upper()
; 27 Left()
; 27 Right()
; 17 Chr()
; 1 Abort()
; 1 Date()
; 2 Time()
; 2 U_Name()
; 2 NoChar()
; 2 YesChar()
; 5 Inkey()
; 2 Mask_Path()
; 2 PCBDat()
; 8 PPEPath()
; 2 ReadLine()
; 3 Exist()
; 2 LangExt()
; 1 KInkey()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Cd
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 0 While/EndWhile
; 3 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------